package controller;

import java.util.List;

import javax.servlet.http.HttpServletRequest;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;

import domain.Article;
import service.IArticleService;

//控制前台页面的控制器
@Controller
public class IndexController {
	@Autowired
	private IArticleService service;

	@RequestMapping("/*")
	public String goIndex(HttpServletRequest req,String query) {
		//起始页默认为1
		Integer startPage = 1;
		//每页的数目 默认为3
		Integer pageSize = 5;
		String page = req.getParameter("page");  //这里都不应该这样 可以直接当参数获取 
		if (page != null) {
			Integer currentPage = Integer.valueOf(page);
			//若有则赋值
			startPage = currentPage;
		}
		//将模糊查询的信息放到请求中 由前台获取 再传到 后台防止 翻页时 丢失数据 
		//这里一开始 放在下面 然后 加了%%后面 拼在url后面就会自动解析urlEncoding。。然后就会没有数据了
		req.setAttribute("query", query);
		//将文章查询出来存到请求中  这里不能直接在listAll这里加%  判断一下吧
		if(query!=null) {
			query= "%"+query+"%";
		}
		List<Article> all = service.listAll(startPage, pageSize,query);
		req.setAttribute("article", all);
		//封装分页信息 将这个存到 请求中
		PageInfo<Article> pageInfo = new PageInfo(all);
		//将分页的信息传递到前台
		req.setAttribute("pageInfo", pageInfo);
		return "front/front";
	}
	
	@RequestMapping("/showArticle")
	public String showArticle(HttpServletRequest req, Long id) {
		Article art = service.queryById(id);
		req.setAttribute("art", art);
		return "front/article";
	}
}
